package com.lakeworks.domain;

import com.lakeworks.common.annotation.Excel;
import com.lakeworks.common.domain.base.BaseDomain;
import com.lakeworks.domain.vo.ShipmentVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 出厂单对象 opr_shipment
 *
 * @author lake
 * @date 2023-02-08
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class OprShipment extends BaseDomain {
    private static final long serialVersionUID = 1L;

    /**
     * 渠道ID
     */
    @Excel(name = "渠道ID")
    private Long channelId;

    /**
     * 渠道出厂单号
     */
    private String chShipmentNo;

    /**
     * 格架号
     */
    @Excel(name = "格架号")
    private String frameNo;

    /**
     * 产品的数量
     */
    @Excel(name = "产品的数量")
    private Integer quantity;

    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String carrier;

    /**
     * 运单号
     */
    @Excel(name = "运单号")
    private String expressNo;

    /**
     * 面单文件地址
     */
    @Excel(name = "面单文件地址")
    private String label;

    /**
     * 状态: 等待/物流下单/待拣货/拣货中/已拣货/打包中/已打包/已出厂
     */
    @Excel(name = "状态: 等待/物流下单/待拣货/拣货中/已拣货/打包中/已打包/已出厂")
    private String status;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String comment;

    private String channelName;

    private String channelCode;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 衣物数量
     */
    private Long clothesNum;
    /**
     * 鞋子数量
     */
    private Long shoesNum;
    /**
     * 奢侈品数量
     */
    private Long luxuryNum;
    /**
     * 当前页
     */
    private Integer pageNum;
    /**
     * 行数
     */
    private Integer pageSize;
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;

    /**
     *出厂单产品变更时间
     */
    private Date updateTime;

    //出厂单衣物列表
    private List<ShipmentVo> shipmentVoList;


    private List<String> statuses;

}
